package rmi;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;

/**
 * @author REMY Timothée and CARTIER Arthur
 * 
 */
public interface DiscussionInterface extends Remote {

	public String getId() throws RemoteException;

	public ArrayList<DiscussionInterface> getListDiscussions()
			throws RemoteException;

	public ArrayList<UserInterface> getParticipants() throws RemoteException;

	/**
	 * @throws RemoteException
	 */
	public abstract boolean join(DiscussionInterface b, UserInterface user)
			throws RemoteException;

	/**
	 * @throws RemoteException
	 */
	public abstract void leave(String pseudo) throws RemoteException;

	/**
	 * @throws RemoteException
	 */
	public abstract boolean postMessage(String pseudo, String id, String message)
			throws RemoteException;

}